/*
* @Author: asus
* @Date:   2017-05-16 21:23:04
* @Last Modified by:   asus
* @Last Modified time: 2017-05-31 11:48:50
*/

'use strict';
require(["jquery-1.11.3","cookie"],function(){
	$(function() {
		//导航条下拉菜单
		$(".header_r>li").each(function(index, el) {
			$(this).hover(function() {
				$(this).find('.header_rs').css('display', 'block');
			}, function() {
				$(this).find('.header_rs').css('display', 'none');
			});
		});
		//取出在cookie中存的购物车信息
		var cartStr = getCookie("cart") ? getCookie("cart") : "";
		if(!cartStr) {
			$(".shopping").css({
				display: "block"
			});
			$(".car").css({
				display: "none"
			});
		} else {
			$(".shopping").css({
				display: "none"
			});
			$(".car").css({
				display: "block"
			});
			var cartObj = convertCartStrToObj(cartStr);
			//遍历所有的商品生成html添加到购物车列表中去
			for(var id in cartObj) {
				//商品信息对象
				var good = cartObj[id];
				var str = 	'<dl class="cartList_b" data-good-id="' + id + '">'+
					'<dt><input type="checkbox" name=""><img src="' + "http://localhost/No1_sasa/images/detail1.jpg" + '"></dt>'+
					'<dd class="cartList_dd1">' + good.name + '</dd>'+
					'<dd class="cartList_dd2">￥' + good.price + '</dd>'+
					'<dd class="cartList_dd3"><button class="minus">-</button><span>' + good.num + '</span><button class="plus">+</button></dd>'+
					'<dd class="cartList_dd4">￥' + good.num * good.price + '</dd>'+
					'<dd class="cartList_dd5">删除</dd>'+
				'</dl>';
				//将上面的结构添加到cartList中去
				$(str).appendTo(".cartList");
			}
			//给每个商品添加从购物车删除的事件
			$('.cartList_dd5').click(function() {
				//在页面上将商品信息删除，顺便获取一个该商品的id
				var id = $(this).parents('.cartList_b').remove().attr("data-good-id");
				//从cookie中将该商品删除
				var cartStr = removeCookie("cart") ? removeCookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				delete cartObj[id];
				//将新商品信息放回cookie
				setCookie('cart', convertObjToCartStr(cartObj), {
					expires: 7,
					path: "/"
				});
			})
			//给增加按钮添加事件
			$(".plus").click(function() {
				var id = $(this).parents('.cartList_dd3').parent(".cartList_b").attr("data-good-id");
				var cartStr = getCookie("cart") ? getCookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				cartObj[id].num += 1;
				//alert(cartObj[id].num)
				//将页面上显示的数量加1
				$(this).siblings("span").html("" + cartObj[id].num);
				//更新页面上的小计
				$(this).parents('.cartList_dd3').siblings('.cartList_dd4').html(cartObj[id].num * cartObj[id].price + "");
				//将信息放回cookie
				setCookie('cart', convertObjToCartStr(cartObj), {
					expires: 7,
					path: "/"
				});
			});
			//给减按钮添加点击事件
			$(".minus").click(function(){
				var id = $(this).parents('.cartList_dd3').parent(".cartList_b").attr("data-good-id");
				var cartStr = getCookie("cart") ? getCookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				if(cartObj[id].num > 1){ //商品数量减少不能少于1
					cartObj[id].num -= 1;
					//将页面上显示的数量减1
					$(this).siblings("span").html("" + cartObj[id].num);
					//更新页面上的小计
					$(this).parents('.cartList_dd3').siblings('.cartList_dd4').html(cartObj[id].num * cartObj[id].price + "");
					//将信息放回cookie
					setCookie('cart', convertObjToCartStr(cartObj), {
						expires: 7,
						path: "/"
					});
				}
			});
		 }
	});

	function convertCartStrToObj(cartStr) {
		//如果是空字符串，即没有购物车信息，那么购物车为空，直接返回一个空对象
		if(!cartStr) {
			return {};
		}
		//var goods = cartStr.split(":");
		var obj = {};
		//for(var i = 0; i < goods.length; i++) {
			//console.log(goods[i]);
			var data = cartStr.split(",");
			//以商品的id为健，商品的其他信息为值，这个值也设计为一个对象
			obj[data[0]] = {
				name: data[1],
				price: parseFloat(data[2]),
				num: parseInt(data[3]),
				src: data[4]
			}
		//}
		//console.log(data);
		return obj;
	}

	function convertObjToCartStr(obj) {
		var cartStr = "";
		for(var id in obj) {
			if(cartStr) {
				cartStr += ":";
			}
			cartStr += id + "," + obj[id].name + "," + obj[id].price + "," + obj[id].num + "," + obj[id].src;
		}
		return cartStr;
	}

})
